package br.com.sbc.managedBean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.sbc.ejb.entity.Perfil;
import br.com.sbc.ejb.entity.Usuario;
import br.com.sbc.util.SBCconstantes;
import br.com.sbc.util.Sessao;




@ManagedBean
@SessionScoped
public class UsuarioSessaoManagedBean extends Sessao {
	
	private List<Perfil> listaPerfil = new ArrayList<Perfil>();
	private String argumento;
	
	public UsuarioSessaoManagedBean(){
		
	}
	
	public void iniciarSessao(String arg, Usuario usuario){
		this.argumento = arg.toLowerCase();
		if(!sessaoExiste(argumento)){
			setSession(argumento, usuario);
		}
	}

	public boolean isSessionNotNull(String argumento){
		return (sessaoExiste(argumento.toLowerCase()));
	}
	public boolean verificarAdmin() {
		if(UsuarioSessaoManagedBean.getInstance().getDadosSessao()!= null){
			if(UsuarioSessaoManagedBean.getInstance().getDadosSessao().getPerfil().compareTo(Perfil.administrador)==0){
				return true;
			}else {
				return false;
			}
		}else{
			return false;
		}
		
	}
	
	public String destruirSessao(){
		destruir();
		return SBCconstantes.PAGINA_HOME;
	}
	
	public Usuario getDadosSessao() {
		this.argumento = Usuario.class.getSimpleName().toLowerCase();
		if (sessaoExiste(argumento)) {
			return (Usuario) getSession().getAttribute(argumento);
		} else {
			return null;
		}
	}

	public void setDadosSessao(List<Usuario> dadosSessao) {
	}
	
	public static UsuarioSessaoManagedBean getInstance(){
		return new UsuarioSessaoManagedBean();
	}

	public List<Perfil> getListaPerfil() {
		listaPerfil.clear();
		listaPerfil.add(Perfil.administrador);
		listaPerfil.add(Perfil.usuarioComum);
		return listaPerfil;
	}

	public void setListaPerfil(List<Perfil> listaPerfil) {
		this.listaPerfil = listaPerfil;
	}
	
}

